import request from '@/utils/request'

/**
 * 获取用户信息
 */
export const getUserInfo = () => {
  return request.get('/api/users/profile')
}

/**
 * 更新用户信息
 */
export const updateUserInfo = (data) => {
  return request.put('/api/users/profile', data)
}

/**
 * 用户相关API
 */
export default {
  /**
   * 获取用户信息
   */
  getUserInfo() {
    return request.get('/api/users/profile')
  },

  /**
   * 更新用户信息
   * @param {Object} data - 用户信息
   */
  updateUserInfo(data) {
    return request.put('/api/users/profile', data)
  },

  /**
   * 上传用户头像
   * @param {File} file - 头像文件
   */
  uploadAvatar(file) {
    const formData = new FormData()
    formData.append('avatar', file)

    return request.post('/api/users/avatar', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  /**
   * 绑定手机号
   * @param {Object} data - 手机号和验证码
   */
  bindPhone(data) {
    return request.post('/api/users/bind-phone', data)
  },

  /**
   * 解绑手机号
   */
  unbindPhone() {
    return request.post('/api/users/unbind-phone')
  },

  /**
   * 获取用户积分余额
   */
  getPointsBalance() {
    return request.get('/api/users/points-balance')
  },

  /**
   * 获取用户会员等级
   */
  getMemberLevel() {
    return request.get('/api/users/member-level')
  }
}